<?php

namespace plugins\auto_switch_mobile_theme;

use cmf\lib\Plugin;
use think\exception\TemplateNotFoundException;

/**
 * Class AutoSwitchMobileThemePlugin
 * @auth: kingofzihua
 * @package plugins\auto_switch_mobile_theme
 */
class AutoSwitchMobileThemePlugin extends Plugin
{
    /**
     * 插件信息
     * @auth: kingofzihua
     * @var array
     */
    public $info = [
        'name' => 'AutoSwitchMobileTheme',
        'title' => '自动切换手机模板',
        'description' => '自动切换PC端和移动端模版',
        'status' => 1,
        'author' => 'kingofzihua',
        'version' => '1.0.0',
        'demo_url' => '',
        'author_url' => 'https://blog.kingofzihua.top'
    ];

    /**
     * 插件是否有后台管理界面
     * @auth: kingofzihua
     * @var int
     */
    public $hasAdmin = 0;

    /**
     * 插件安装
     * @auth: kingofzihua
     * @return bool 安装成功返回true，失败false
     */
    public function install()
    {
        return true;
    }

    /**
     * 插件卸载
     * @auth: kingofzihua
     * @return bool 卸载成功返回true，失败false
     */
    public function uninstall()
    {
        return true;
    }

    /**
     * 实现的switch_theme钩子方法
     * @auth: kingofzihua
     * @param $param
     * @return string
     */
    public function switchTheme($param)
    {
        $config = $this->getConfig();

        //判断是否是手机
        if (cmf_is_mobile()) {

            // simpleboot3_mobile
            $mobile_theme = config('template.cmf_default_theme') . $config['auto_switch_mobile_theme'];

            //获取移动端模版的路径
            $dir = config('template.cmf_theme_path') . $mobile_theme;

            //判断是否存在 如果不存在 就直接走默认的
            if (is_dir($dir)) return $mobile_theme;

            //判断如果是 开发模式 直接给提示模版不存在
            if (APP_DEBUG) {
                throw  new TemplateNotFoundException('Template directory does not exist :' . $mobile_theme);
            }

        }

        return config('template.cmf_default_theme');
    }

}